实战PyQt5: 059 | 您所在的位置:网站首页 › pyqt dialog › 实战PyQt5: 059 |
QColorDialog简介
QColorDialog控件是一个常用的颜色选择对话框,继承自QDialog,是Qt内建的标准对话框之一。当程序中需要设置某一控件或控件外字体颜色时,我们使用该控件,对颜色进行选择、设置。 颜色对话框界面有以下几种功能: 从基础颜色中选择需要的颜色;从色谱图中选择所需颜色;将喜欢的颜色添加到常用颜色中;使用取色器在屏幕上取色;微调三原色数值。QColorDialog常用方法有: getColor(): 打开一个颜色选择对话框,如果点击‘确定’或等效按钮,返回选取的颜色,否则返回Q ColorDialog缺省颜色;currentColor(): 返回当前颜色值;selectedColor(): 返回已选颜色值;setCurrentColor(): 设置当前颜色值;setCustomColor(): 设置用户自定义颜色;customColor(): 返回自定义颜色。QColorDialog常用信号: currentColorChanged(): 当前颜色改变时发射该信号;colorSelected(): 颜色最终被选择时发射该信号;QColorDialog类继承关系: 测试QColorDialog 创建文件qcolordialog.py,通过颜色选择对话框选择相应颜色,将颜色的效果显示在一个QLabel标签页的文本上,完整代码如下: import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import Qt from PyQt5.QtGui import QPalette from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QPushButton, QColorDialog, QVBoxLayout) class DemoColorDialog(QWidget): def __init__(self, parent=None): super(DemoColorDialog, self).__init__(parent) # 设置窗口标题 self.setWindowTitle('实战PyQt5: QColorDialog Demo!') # 设置窗口大小 self.resize(360, 240) self.initUi() def initUi(self): vLayout = QVBoxLayout(self) vLayout.addSpacing(10) btnTest = QPushButton('调整颜色', self) btnTest.clicked.connect(self.onSetFont) self.label_text = QLabel('实战PyQt5: \n测试QColorDialog') self.label_text.setAlignment(Qt.AlignCenter) self.label_text.setFont(QtGui.QFont(self.font().family(), 16)) vLayout.addWidget(btnTest) vLayout.addWidget(self.label_text) self.setLayout(vLayout) def onSetFont(self): col = QColorDialog.getColor() pal = self.label_text.palette() pal.setColor(QPalette.WindowText, col) self.label_text.setPalette(pal) if __name__ == '__main__': app = QApplication(sys.argv) window = DemoColorDialog() window.show() sys.exit(app.exec())运行结果如下图: 测试QColorDialog 本文知识点 使用QColorDialog选择颜色;QColorDialog对话框功能区域;使用QPalette方式改变QLabel上文本的颜色。前一篇: 实战PyQt5:058-字体选择对话框QFontDialog |
CopyRight 2018-2019 实验室设备网 版权所有 |